package icu.ikuns.doubleD;

/**
 * @Author： Kimariyb
 * @Date：2022/05/26/14:28
 * @Description：
 */
public class DoubleCheck {
    private static volatile DoubleCheck doubleCheck;

    private DoubleCheck() {
        System.out.println("生成了一个虚拟用户！");
    }

    public static DoubleCheck getInstance() {
        if (doubleCheck == null) {
            synchronized (DoubleCheck.class) {
                if (doubleCheck == null) {
                    //这不是原子性操作
                    //1、分配内存空间
                    //2、执行构造方法，初始化对象
                    //3、把这个对象指向这个空间
                    doubleCheck = new DoubleCheck();
                }
            }
        }
        return doubleCheck;
    }
}
